using System;
using System.Collections.Generic;
using Neturion.Dados;
using Neturion.IRepositorios;
using Neturion.Repositorios;

namespace Neturion.Negocios
{
    public class NegocioCheque
    {
        private IRepositorioCheque _repositorioCheque;

        public NegocioCheque()
        {
            _repositorioCheque = new RepositorioCheque();
        }

        public Cheque Inserir(Cheque cheque)
        {
            return _repositorioCheque.Inserir(cheque);
        }

        public Cheque Atualizar(Cheque cheque)
        {
            return _repositorioCheque.Atualizar(cheque);
        }

        public void Excluir(Cheque cheque)
        {
            Cheque chequeTmp = ObterPorId(cheque.ChequeId);
            _repositorioCheque.Excluir(chequeTmp);
        }

        public IList<Cheque> ObterTodos()
        {
            return _repositorioCheque.ObterTodos();
        }

        public Cheque ObterPorId(int id)
        {
            return _repositorioCheque.ObterPorId(id);
        }

        public IList<Cheque> ObterTodos(int inicio, int quantidade, int quantidadeMinima, Usuario usuarioPermissao, EnumTipoCheque enumTipoCheque,
                                        string numero, Pessoa titular, Pessoa destinatario, ContaBanco contaBanco, DateTime? bomParaDe,
                                        DateTime? bomParaAte, DateTime? emissaoDe, DateTime? emissaoAte)
        {
            return _repositorioCheque.ObterTodos(inicio, quantidade, quantidadeMinima, enumTipoCheque, numero, titular,
                                                 destinatario, contaBanco, bomParaDe, bomParaAte, emissaoDe, emissaoAte);
        }
    }
}